﻿namespace Ex03.GarageLogic
{
    using System;
    using System.Collections.Generic;
    using System.Text;

    public enum eEngineType
    {
        Fuel = 1,
        Electric
    }

    /// <summary>
    /// This class is part of vehicle and implement it's engine
    /// </summary>
    internal abstract class Engine
    {
        #region Messages
        protected const string k_EngineType = "Engine type: ";
        protected const string k_MaximumEnergyCapacity = "Maximum capacity: ";
        protected const string k_CurrentEnergyCapacity = "Current capacity: ";
        protected const string k_DisplayEngine = "------ Engine Information ------";
        #endregion

        #region Protected Methods
        public abstract void GetAllDetails(ref List<string> io_ListOfVehicleDetails);

        public abstract void UpdateCurrentCapacityByPercentage(float i_Percentage);

        public abstract float CalculatePercentageByCurrentEnergy();
        #endregion
    }
}
